const {
    ipcMain
} = require("electron");
const tencentcloud = require("tencentcloud-sdk-nodejs");
const secretId = 'XXXXXXXXXXXXXXXXXXXXXXX'
const secretKey = 'XXXXXXXXXXXXXXXXXXXXXXX'
const {
    saveImg
} = require('./saveFile')

ipcMain.on('discriminate-img', async (e, Url) => {
    saveImg(Url)
    try {
        let res = await testImg(Url)
        e.returnValue = {
            code : 200,
            data : res
        };
    } catch (error) {
        e.returnValue = {
            code : 500,
            data : error
        };
    }
})

async function testImg(Url) {
    const IaiClient = tencentcloud.iai.v20180301.Client;
    // 实例化一个认证对象，入参需要传入腾讯云账户 SecretId 和 SecretKey，此处还需注意密钥对的保密
    // 代码泄露可能会导致 SecretId 和 SecretKey 泄露，并威胁账号下所有资源的安全性。以下代码示例仅供参考，建议采用更安全的方式来使用密钥，请参见：https://cloud.tencent.com/document/product/1278/85305
    const clientConfig = {
        credential: {
            secretId,
            secretKey,
        },
        region: "",
        profile: {
            httpProfile: {
                endpoint: "iai.tencentcloudapi.com",
            },
        },
    };

    // 实例化要请求产品的client对象,clientProfile是可选的
    const client = new IaiClient(clientConfig);
    const params = {
        NeedFaceAttributes: 1,
        NeedQualityDetection: 1,
        Url
    };
    return new Promise((resolve, reject) => {
        client.DetectFace(params).then(
            (data) => {
                resolve(data)
            },
            (err) => {
                reject(err)
            }
        );
    })

}
